

#include "MyProject.h"

/******************************************************************************/

//后续再移植
#define SPI2_CS1_L  0      //CS1_L
#define SPI2_CS1_H  1        //CS1_H

/******************************************************************************/
void delay_s(int i)
{
	while(i--);
}

/******************************************************************************/
//AS5047P、AS5048、AS5147 代码通用
unsigned short ReadAS5047P(unsigned short  addr)
{
	unsigned short  u16Data;
	
	SPI2_CS1_L;
	SPIx_ReadWriteByte(addr);
	SPI2_CS1_H;
	delay_s(20);  //1us
	
	SPI2_CS1_L;
	u16Data = SPIx_ReadWriteByte(0);
	SPI2_CS1_H;
	delay_s(20);  //1us
	
	return u16Data;
}
/******************************************************************************/
//后续再移植
#define SPI2_TX_OFF 0  //把PB15(MOSI)配置为浮空模式
#define SPI2_TX_ON  1  //把PB15(MOSI)配置为复用推挽输出(50MHz)

//#define SPI2_TX_OFF {GPIOB->CRH&=0x0FFFFFFF;GPIOB->CRH|=0x40000000;}  //把PB15(MOSI)配置为浮空模式
//#define SPI2_TX_ON  {GPIOB->CRH&=0x0FFFFFFF;GPIOB->CRH|=0xB0000000;}  //把PB15(MOSI)配置为复用推挽输出(50MHz)

/******************************************************************************/
unsigned short ReadTLE5012B(unsigned short Comm)
{
	unsigned short u16Data;
	
	SPI2_CS1_L;
	SPIx_ReadWriteByte(Comm);
	SPI2_TX_OFF;
	__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();  //Twr_delay=130ns min
	u16Data = SPIx_ReadWriteByte(0xffff);
	
	SPI2_CS1_H;
	SPI2_TX_ON;
	return(u16Data);
}
/******************************************************************************/
/******************************************************************************/
unsigned short ReadMA730(unsigned short  addr)
{
	unsigned short u16Data;
	
	SPI2_CS1_L;
	u16Data=SPIx_ReadWriteByte(addr);
	SPI2_CS1_H;
	
	return u16Data;
}
/******************************************************************************/


